package uk.ac.manchester.tewpl.iceiface.client.service;

import java.util.Collection;

import uk.ac.manchester.tewpl.iceiface.client.model.KBCommunityModel;
import uk.ac.manchester.tewpl.iceiface.client.model.KBInfoModel;
import uk.ac.manchester.tewpl.iceiface.client.model.KBWorkspaceModel;


import com.google.gwt.user.client.rpc.AsyncCallback;

public interface CommunityServiceAsync {
	void findAllCommunities(AsyncCallback<Collection<KBCommunityModel>> callback);

	void findCommunityById(Long id, AsyncCallback<KBCommunityModel> callback);

	void findCommunityByName(String name,
			AsyncCallback<KBCommunityModel> callback);

	void saveCommunity(KBCommunityModel community,
			AsyncCallback<KBCommunityModel> callback);

	void deleteCommunity(KBCommunityModel community,
			AsyncCallback<java.lang.Void> callback);
	
	void createWorkspace(String uri, KBCommunityModel community, KBInfoModel kbInfo,
			AsyncCallback<KBWorkspaceModel> callback);
}
